package week_02.entertaining_diversions.three_dimensional;

import java.util.Arrays;

public class three_dimensional {
//    public static void main(String[] args) {
//        int[][][] a=new int[5][5][5];
//        for (int i=0;i<a.length;i++){
//            for (int j=0;j<a.length;j++){
//                for (int k=0;k<a.length;k++){
//                    a[i][j][k]=1;
//                    //上下两个面
//                    a[1][2][0]=0;
//                    a[2][1][0]=0;
//                    a[2][2][0]=0;
//                    a[2][3][0]=0;
//                    a[3][1][0]=0;
//                    //-----------------------
//                    a[1][2][4]=0;
//                    a[2][1][4]=0;
//                    a[2][2][4]=0;
//                    a[2][3][4]=0;
//                    a[3][1][4]=0;
//                    //上下倒数的两个面
//                    a[0][2][1]=0;
//                    a[1][2][1]=0;
//                    a[2][0][1]=0;
//                    a[2][1][1]=0;
//                    a[2][2][1]=0;
//                    a[2][3][1]=0;
//                    a[2][4][1]=0;
//                    a[3][2][1]=0;
//                    a[4][2][1]=0;
//                    //--------------------------
//                    a[0][2][3]=0;
//                    a[1][2][3]=0;
//                    a[2][0][3]=0;
//                    a[2][1][3]=0;
//                    a[2][2][3]=0;
//                    a[2][3][3]=0;
//                    a[2][4][3]=0;
//                    a[3][2][3]=0;
//                    a[4][2][3]=0;
//                    //中间那一面
//                    a[0][1][2]=0;
//                    a[0][2][2]=0;
//                    a[0][3][2]=0;
//                    a[1][0][2]=0;
//                    a[1][1][2]=0;
//                    a[1][2][2]=0;
//                    a[1][3][2]=0;
//                    a[1][4][2]=0;
//                    a[2][0][2]=0;
//                    a[2][1][2]=0;
//                    a[2][2][2]=0;
//                    a[2][3][2]=0;
//                    a[2][4][2]=0;
//                    a[3][0][2]=0;
//                    a[3][1][2]=0;
//                    a[3][2][2]=0;
//                    a[3][3][2]=0;
//                    a[3][4][2]=0;
//                    a[4][1][2]=0;
//                    a[4][2][2]=0;
//                    a[4][3][2]=0;
//
//                }
//            }
//        }
//        System.out.println(Arrays.deepToString(a));
//    }

    //在原本的立方体外面包一层
    //这是第一层和最下面的那层

    public void layer1(int[][][] a, int n) {
        for (int i = 0; i < a[n].length; i++) {
            for (int j = 0; j < a[n][i].length; j++) {
                a[n][i][j] = 0;
            }
        }
    }

    public void layer2(int[][][] a, int n) {
        for (int i = 0; i < a[n].length; i++) {
            for (int j = 0; j < a[n][i].length; j++) {
                a[n][i][j] = 1;
                if (i == 0 || i == 6) {
                    a[n][i][j] = 0;
                }
                if (j == 0 || j == 6) {
                    a[n][i][j] = 0;
                }
            }
        }
        a[n][2][3] = 0;
        a[n][3][3] = 0;
        a[n][4][3] = 0;
        a[n][3][2] = 0;
        a[n][3][4] = 0;
    }

    public void layer3(int[][][] a, int n) {
        for (int i = 0; i < a[n].length; i++) {
            for (int j = 0; j < a[n][i].length; j++) {
                a[n][i][j] = 1;
                if (i == 0 || i == 3 || i == 6) {
                    a[n][i][j] = 0;
                }
                if (j == 0 || j == 3 || j == 6) {
                    a[n][i][j] = 0;
                }
            }
        }
        for (int i = 1; i < 6; i++) {
            a[n][i][3] = 0;
        }
        for (int j = 1; j < 6; j++) {
            a[n][3][j] = 0;
        }
    }

    public void layer4(int[][][] a, int n) {
        for (int i = 0; i < a[n].length; i++) {
            for (int j = 0; j < a[n][i].length; j++) {
                a[n][i][j] = 0;
            }
        }
        a[n][1][1] = 1;
        a[n][1][5] = 1;
        a[n][5][1] = 1;
        a[n][5][5] = 1;
    }

    public static void main(String[] args) {
        int[][][] three = new int[7][7][7];
        three_dimensional ff = new three_dimensional();
        ff.layer1(three, 0);
        ff.layer2(three, 1);
        ff.layer3(three, 2);
        ff.layer4(three, 3);
        ff.layer3(three, 4);
        ff.layer2(three, 5);
        ff.layer1(three, 6);
        for (int i = 0; i < three.length; i++) {
            for (int i1 = 0; i1 < three[i].length; i1++) {
                for (int i2 = 0; i2 < three[i][i1].length; i2++) {
                    System.out.print(" " + three[i][i1][i2]);
                }
                //二维换行
                System.out.println();
            }
            //三维换行
            System.out.println();
        }
        int num = 0;
        for (int i = 1; i < three.length - 1; i++) {
            for (int j = 1; j < three[i].length - 1; j++) {
                for (int k = 1; k < three[i][j].length - 1; k++) {
                    if (three[i][j][k] == 1) {
                        num += 6 - (three[i - 1][j][k] + three[i + 1][j][k]
                                + three[i][j + 1][k] + three[i][j - 1][k]
                                + three[i][j][k + 1] + three[i][j][k - 1]);
                    }
                }
            }
        }
        System.out.print(num);
        int[][][] b = new int[5][6][9];
        for (int i = 1; i < b.length - 1; i++) {
            for (int j = 1; j < b[i].length - 1; j++) {
                for (int k = 1; k < b[i][j].length - 1; k++) {
                    System.out.println(b[i].length);

                }
            }
        }

    }

}
